package com.ruoyi.lowcode.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模型字段业务对象 lc_field
 *
 * @author ruoyi
 * @date 2023-09-30
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class LcFieldBo extends BaseEntity {

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long fieldId;

    /**
     * 关联模型id
     */
    @NotNull(message = "模型id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long modelId;

    /**
     * 字段名称
     */
    @NotBlank(message = "字段名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fieldName;

    /**
     * 字段全名
     */
    @NotBlank(message = "字段全名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fieldTableAliasName;

    /**
     * 字段别名
     */
    @NotBlank(message = "字段别名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fieldAlias;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 是否主键 0 否 1 是
     */
    private String isId;

    /**
     * 是否查询 0 否 1 是
     */
    private String isQuery;

    /**
     * 是否支持搜索 0 否 1 是
     */
    private String isSearch;

    /**
     * 是否是图片 0 否 1 是
     */
    private String isPicture;

    /**
     * 搜索类型
     */
    private String selectType;

    /**
     * 是否可以为空 0 否 1 是
     */
    private String isEmpty;

    /**
     * 数据字典id
     */
    private Long dictionaryId;

    /**
     * 主表名称
     */
    private String modelName;

    /**
     * 主表字段id
     */
    private String modelFieldId;

    private Long parentModelId;

    private String parentModelName;

    private Long parentModelFieldId;

    private String parentModelFieldAlias;

    /**
     * 备注
     */
    private String remark;


}
